package com.jblog.core.service.facde;

import java.util.List;

import com.jblog.core.model.account.Account;
import com.jblog.core.model.account.Log;
import com.jblog.core.model.account.param.AccountParam;
import com.jblog.core.model.account.param.LogParam;

public interface AccountFacade {
    
    /**** AccountService ****/
    public Account findAccountById(Long id);

    public Account findAccountByName(String s);
    
    public Account findAccountByEmail(String s);

    public Account findAccountByActiveCode(String s);
    
    public List<Account> findAccountByParamByPage(AccountParam p);
    
    public Long findCountOfAccount(AccountParam p);

    public void enDisableAccount(Account e, boolean able);

    public void saveAccount(Account e);

    public void updateAccount(Account e);

    public void deleteAccount(Long id);
    
    /**** AccountLogService ****/
    public List<Log> findLogByParam(LogParam p);
    
    public Long findCountOfLog(LogParam p);

    public void saveLog(Log e);

    public void deleteLog(Long id);

    public void deleteLog(List<Long> ids);
    
}
